package lanqiao.dontaiguihua.moni;

import java.util.Scanner;

//翻转
public class Lan3520 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        String[] a=new String[n];
        String[] b=new String[n];
        for(int i=0;i<n;i++){
            a[i]=sc.next();
            b[i]=sc.next();
        }
        sc.close();
        for(int i=0;i<n;i++){
            System.out.println(ak(a[i],b[i]));
        }

    }

    public static int ak(String o,String p){
        int ans=0;
        if((o.charAt(0)!=p.charAt(0))||(o.charAt(o.length()-1)!=p.charAt(p.length()-1))){
            ans=-1;
            return ans;
        }
        else {
            for(int i=1;i<o.length()-1;i++){
             if(o.charAt(i)!=p.charAt(i)){
                 if(p.charAt(i-1)==p.charAt(i+1)&&p.charAt(i-1)!=p.charAt(i)) {
                     ans++;
                 }else{
                     ans = -1;
                     return ans;
                 }
             }
            }
        }
        return ans;
    }
}
/*这一题我一开始以为每个字符都可以转,饶了一大圈才发现需要一个字符和其两边都不同才行,所以这里的做法是定义两个
String数组,利用chatAt方法去判断是否可以翻转,如果前面和后面都不一样翻转必不可行,最后一个循环判断两个字符
串数组是否相同,不同的话考虑该下标是否与两边不同,不同就将记录变量+1,最后返回*/
